Post-processing method and apparatus for use in a video signal decoding apparatus

ABSTRACT

A method for post-processing a current block is used in a decoding system for decoding an encoded digital image signal. The encoded digital image signal includes a plurality of encoded blocks of quantized transform coefficients, and the current block corresponds to one of the encoded blocks having a quantized DC coefficient and a predetermined number of quantized AC coefficients, the quantized DC coefficient having been quantized based on a DC quantization step size. The method comprises the steps of: 
     (a) calculating an average neighboring pixel value(ANV) of neighboring block pixels located along a borderline between the current block and its neighboring blocks; (b) obtaining an average current pixel value(ACV) of current block pixels located along the borderline between the current block and the neighboring blocks; and (c) adjusting pixel values of the current block pixels based on the average neighboring pixel value, the average current pixel value, and the DC quantization step size.

FIELD OF THE INVENTION

The present invention relates to a post-processing method and apparatus for use in a video signal decoding apparatus; and, more particularly, to a method and apparatus capable of removing a blocking effect present along a borderline of a block of decoded image signals.

DESCRIPTION OF THE PRIOR ART

In various electronic/electrical applications such as high definition television and video telephone systems, an image signal is usually transmitted in a digitized form, wherein a large amount of digital data is normally generated. Since, however, the available frequency bandwidth of a conventional transmission channel is limited, the image signal is normally compressed to be transmitted therethrough. Among various video compression techniques, the so-called hybrid coding technique, which combines temporal and spatial compression techniques together with a statistical coding technique, is known to be most effective.

Most hybrid coding techniques employ various steps including adaptive intra/inter mode coding, orthogonal transform, quantization of transform coefficients, RLC(run-length coding), and VLC(variable length coding). The intra/inter mode coding is a process of selecting a video signal for a subsequent orthogonal transform thereof from either PCM(pulse code modulation) data of a current frame or DPCM(differential pulse code modulation) data adaptively, e.g., based on a variance thereof. The inter mode coding, also known as a predictive method, which is based on the concept of reducing redundancies between neighboring frames, is a process of determining the movement of an object between a current frame and its one or two neighboring frames, and predicting the current frame according to a motion flow of the object to produce an error signal representing differences between the current frame and its prediction. This coding method is described, for example, in Staffan Ericsson, "Fixed and Adaptive Predictors for Hybrid Predictive/Transform Coding", IEEE Transactions on Communications, COM-33, No. 12, pp. 1291-1301 (December 1985); and in Ninomiya and Ohtsuka, "A Motion-Compensated Interframe Coding Scheme for Television Pictures", IEEE Transaction on Communications, COM-30, No. 1, pp. 201-210 (January 1982), both of which are incorporated herein by reference.

The orthogonal transform, which exploits spatial correlationships between image data such as PCM data of the current frame or motion compensated DPCM data and reduces or removes spatial redundancies therebetween, converts a block of digital image data into a set of transform coefficients. This technique is described in, e.g., Chen and Pratt, "Scene Adaptive Coder", IEEE Transactions on Communications, COM-32, No. 3, pp. 225-232 (March 1984). By quantizing such transform coefficient data, zigzag scanning, RLC and VLC, the amount of data to be transmitted can be effectively compressed.

Encoded image data is transmitted through a conventional transmission channel to an image signal decoder of an image signal decoding apparatus within a receiver, which performs a reverse process of an encoding operation to thereby reconstruct the original image data. However, the reconstructed image data or decoded image data may display an annoying artifact called a blocking effect wherein the borderline of a block becomes noticeable at the receiver. Such blocking effect sometimes occurs due to the fact that a frame is encoded on a block by block basis; and may become more noticeable as the quantization step size becomes larger, i.e., when the blocks undergo more coarse quantization. Especially, if a certain block is much brighter or darker than its adjacent blocks, and, a large quantization step size is used for quantizing the intra-block DC coefficient, intensity differences between that certain block and its adjacent blocks may become even more pronounced, resulting in a more severe blocking effect and deteriorating the quality of the image.

Accordingly, there have been proposed various types of post-processing techniques to reduce the blocking effect, thereby improving the quality of the decoded image data. These post-processing techniques generally employ a post-processing filter for further processing the decoded image data.

In the post-processing technique using the post-processing filter, the decoded image data is filtered on a pixel-by-pixel basis using a low pass filter having a predetermined cutoff frequency. A post-processing technique which adopts the post-processing filter is disclosed in a commonly owned copending application, U.S. Ser. No. 08/431,880 (now, U.S. Pat. No. 5,694,492), entitled "IMPROVED POST-PROCESSING METHOD FOR USE IN AN IMAGE SIGNAL DECODING SYSTEM". This technique provides an improved performance of reducing the blocking effect along a borderline of a block of decoded image data by repeatedly post-processing it based on respective filtered image data. However, this post-processing technique performs the filtering operation of the decoded image data without considering the position of each pixel contained in the block; and, therefore, it may not be able to reduce the blocking effect completely along the boundary of the block.

SUMMARY OF THE INVENTION

It is, therefore, a primary object of the invention to provide an improved method for removing a blocking effect present along a boundary of a block of decoded image signal by adjusting or harmonizing pixel values of a current block to pixel values of its adjacent neighboring blocks.

In accordance with the invention, there is provided a method for post-processing a current block for use in a decoding system for decoding an encoded digital image signal, wherein the encoded digital image signal includes a plurality of encoded blocks of quantized transform coefficients, and the current block corresponds to one of the encoded blocks having a quantized DC coefficient and a predetermined number of quantized AC coefficients, the quantized DC coefficient having been quantized based on a DC quantization step size, comprising the steps of:

(a) calculating an average neighboring pixel value of neighboring block pixels located along a borderline between the current block and its neighboring blocks;

(b) obtaining an average current pixel value of current block pixels located along a borderline between the current block and the neighboring blocks; and

(c) adjusting pixel values of the current block pixels based on the average neighboring pixel value, the average current pixel value, and the DC quantization step size.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects and features of the present invention will become apparent from the following description of preferred embodiments given in conjunction with the accompanying drawings, in which:

FIG. 1 represents a video signal decoding apparatus having a post-processing block for removing a blocking effect in accordance with the present invention;

FIG. 2 describes a detailed block diagram of the post-processing block of FIG. 1; and

FIGS. 3A and 3B show an exemplary frame to describe the operation of the post-processing block of FIG. 1.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring to FIG. 1, there is shown a preferred embodiment of an encoded video signal decoding apparatus capable of removing a blocking effect in accordance with the present invention. As shown in FIG. 1, an encoded video bit stream is provided from a corresponding conventional encoder(not shown) to the decoding apparatus, in particular, to a buffer 100. The buffer 100 receives the encoded video bit stream and supplies it at a fixed rate to a variable length decoder(VLD) 102.

At the VLD 102, the encoded video bit stream is first demultiplexed to produce an intra/inter mode signal and encoded image data, i.e., a plurality of encoded blocks of quantized transform coefficients and variable-length coded motion vectors, wherein the plurality of encoded blocks of quantized transform coefficients are then decoded to provide a plurality of blocks of quantized transform coefficients(Qfs) and a set of quantization step sizes for each of the blocks to an inverse quantizer 106 via a line L10, while the variable-length coded motion vectors are decoded to provide motion vectors to a motion compensator 128 via a line L12. The Qfs for each of the blocks, e.g., an 8×8 block, include one DC coefficient and 63 AC coefficients, and the set of quantization step sizes may include two kinds of quantization step sizes: one is for the DC coefficient and the other is for the AC coefficients.

At the inverse quantizer 106, a block of Qfs is converted into a set of DCT coefficients using a corresponding set of quantization step sizes determined by the intra/inter mode signal supplied from the VLD 102 via the line L4. Subsequently, the set of DCT coefficients is fed to an inverse discrete cosine transformer(IDCT) 110, and the quantization step size for a DC coefficient is provided to a post-processing block 124.

The IDCT 110 inversely transforms the set of DCT coefficients into a block of IDCT data which is provided to an adder 116.

In the meantime, using the motion vectors from the VLD 102 via the line L12, the motion compensator 128 extracts a block of pixel data corresponding to a block of IDCT data from a previous frame stored in a frame memory 126 via a line L18 and provides the extracted pixel data as motion compensated data to a switch SW10, wherein the motion compensated data is relayed to the adder 116 for its addition to the IDCT data when an inter mode signal is provided via the line L4 thereto, to thereby provide a decoded data signal to the post-processing block 124; and, when an intra mode signal is provided via the line L4, the switch SW10 is set open and the IDCT data from the IDCT 110 is provided through the adder 116 to the post-processing block 124 without any adding operation.

At the post-processing block 124, a blocking effect resulting from noticeable pixel luminance differences between a current block and its neighboring blocks is removed as follows: first, a first mean value (FMV) of luminances of current block pixels located along a boundary between the current block and its neighboring blocks is calculated; and then a second mean value(SMV) of luminances of neighboring block pixels located along the boundary is computed; and subsequently, the first and the second mean values are compared each other to thereby provide a comparison result; and finally all of pixel values of the current block are adjusted based on the comparison result and a DC quantization step size(QS) of the current block. If -QS/2<(FMV-SMV)<QS/2, all of the pixel values of the current block are increased by a factor (FMV-SMV); if (FMV-SMV)≧QS/2, all of the pixel values of the current block are decreased by QS/2; and, if (FMV-SMV)≦-QS/2, all of the pixel values of the current block are increased by QS/2. Details of the post-processing block 124 is described with reference to FIG. 2.

The post-processing block 124 includes first and second mean value calculators 202 and 212, a multiplier 204, first and second adders 206 and 220, first and second subtractors 208 and 218, first and second selectors 210 and 214 and a buffer 216. The IDCT data is inputted to the first mean value calculator 202 and the buffer 216 from the adder 116 via a line L13. The first mean value calculator 202 stores the pixel values of the current block and calculates the FMV. Referring to FIG. 3B, an enlarged view of FIG. 3A, the FMV, e.g., for an 8×8 block, is calculated as follows: ##EQU1## wherein C(i,j) is a luminance value of a pixel located at an ith row and a jth column in the current block. As shown in Eq. (1), the FMV is an average value of the luminance values of the current block pixels located along the boundary between the current block and its neighboring blocks.

On the other hand, all of the pixel values of the upper and the left side adjacent blocks are inputted to a second mean value calculator 212 from the frame memory 126 via the line L14 wherein the SMV is calculated. Referring to FIG. 3B, in case the neighboring blocks to the current block are an upper and a left side adjacent blocks, the SMV, e.g., for the two 8×8 blocks, may be calculated as follows: ##EQU2## wherein U(i,j) and L(i,j) are luminance values of pixels located at an ith row and a jth column in an upper and a left side adjacent blocks, respectively. As shown in Eq. (2), the SMV is an average value of the luminance values of the neighboring block pixels located along the boundary between the current block and the upper and the left side adjacent blocks to the current block, respectively.

To adjust the pixel values of the current block based on a difference between the first mean value and the second mean value, the multiplier 204 multiplies the QS provided from the inverse quantizer 106 by 1/2 and supplies the result QS/2 to the first adder 206 via a line L24, wherein the first adder 206 adds up the FMV from the first mean value calculator 202 and QS/2 and provides the result FMV+QS/2 to the first selector 210 via the line L26. The first selector 210 selects the smaller of two inputs, i.e., FMV+QS/2 and the SMV, and supplies the selected input to the second selector 214. The difference between FMV and QS/2 is calculated at the first subtractor 208, and the result FMV-QS/2 is provided to the second selector 214. The second selector 214 selects the larger of two inputs, i.e., FMV-QS/2 and the selected value from the first selector 210, and provide it to the second subtractor 218. The second subtractor 218 subtracts the FMV from the selected value of the second selector 214, resulting in one of QS/2, FMV-SMV or -QS/2. At the second adder 220, the result of the second subtractor 218 is added to all the pixel values of the current block delayed at the buffer 216, to produce adjusted pixel values of the current block, which are simultaneously provided to the frame memory 126 and the display unit.

While the present invention has been shown and described with reference to the particular embodiments, it will be apparent to those skilled in the art that many changes and modifications may be made without departing from the spirit and scope of the invention as defined in the appended claims. 

What is claimed is:
 1. A method for post-processing a current block for use in a decoding system for decoding an encoded digital image signal, wherein the encoded digital image signal includes a plurality of encoded blocks of quantized transform coefficients, and the current block corresponds to one of the encoded blocks having a quantized DC coefficient and a predetermined number of quantized AC coefficients, the quantized DC coefficient having been quantized based on a DC quantization step size(OS), comprising the steps of:(a) calculating an average neighboring pixel value(ANV) of neighboring block pixels located along a borderline between the current block and its neighboring blocks; (b) obtaining an average current pixel value(ACV) of current block pixels located along the borderline between the current block and the neighboring blocks; and (c) adjusting pixel values of the current block pixels based on the average neighboring pixel value, the average current pixel value, and the DC quantization step size; wherein said adjusting step (c) includes the steps of:(c1) subtracting the ANV from the ACV; and (c2) if (ACV-ANV)≧QS/2, decreasing all the pixel values of the current block by QS/2; if (ACV-ANV)≦-QS/2, increasing all the pixel values of the current block by QS/2; and, if -QS/2<(ACV-ANV)<QS/2, increasing all the pixel values of the current block by ACV-ANV.
 2. The method of claim 1, wherein only two neighboring blocks are used, a first neighboring block being situated either above or below the current block, and a second neighboring block being situated either to the right or to the left of the current block, and said plurality of pixels in the current block comprise all pixels in the current block located along the borderline with said first and second neighboring blocks.
 3. The method of claim 1, whereinthe average neighboring pixel value (ANV) is an arithmetic mean of all pixels which belong to a pair of adjacent neighboring blocks and are on a borderline with the current block; and the average current pixel value (ACV) is an arithmetic mean of all pixels in a current block which are on a borderline with either of said pair of neighboring blocks, with one of said pixels in said current block being on the borderline with both of said neighboring blocks.
 4. A method for post-processing a current block for use in a decoding system for decoding an encoded digital image signal, wherein the encoded digital image signal includes a plurality of encoded blocks of quantized transform coefficients, and the current block corresponds to one of the encoded blocks having a quantized DC coefficient and a predetermined number of quantized AC coefficients, the quantized DC coefficient having been quantized based on a DC quantization step size(QS), comprising the steps of:(a) calculating an average neighboring pixel value(ANV) of neighboring block pixels located along a borderline between the current block and its neighboring blocks; (b) obtaining an average current pixel value(ACV) of current block pixels located along the borderline between the current block and the neighboring blocks; (c) forming a difference (ACV-ANV): (d) comparing the difference (ACV-ANV) with the DC quantization step; and (e) adjusting pixel values of the current block pixels based on the comparison result; wherein said adjusting step (e) includes the step of: if (ACV-ANV)≧QS/2, decreasing all the pixel values of the current block by QS/2; if (ACV-ANV)≦-QS/2, increasing all the pixel values of the current block by QS/2; and, if -QS/2<(ACV-ANV) <QS/2, increasing all the pixel values of the current block by ACV-ANV.
 5. The method of claim 4, whereinonly two neighboring blocks are used, a first neighboring block being situated either above or below the current block, and a second neighboring block being situated either to the right or to the left of the current block, and said plurality of pixels in the current block comprise all pixels in the current block located along the borderline with said first and second neighboring blocks.
 6. The method of claim 4, whereinthe average neighboring pixel value (ANV) is an arithmetic mean of all pixels which belong to a pair of adjacent neighboring blocks and are on a borderline with the current block; and the average current pixel value (ACV) is an arithmetic mean of all pixels in a current block which are on a borderline with either of said pair of neighboring blocks, with one of said pixels in said current block being on the borderline with both of said neighboring blocks.
 7. An apparatus for post-processing a current block for use in a decoding system for decoding an encoded digital image signal, wherein the encoded digital image signal includes a plurality of encoded blocks of quantized transform coefficients, and the current block corresponds to one of the encoded blocks having a quantized DC coefficient and a predetermined number of quantized AC coefficients, the quantized DC coefficient having been quantized based on a DC quantization step size(QS), the apparatus comprising:first average calculator for calculating an average neighboring pixel value(ANV) of neighboring block pixels located along a borderline between the current block and its neighboring blocks, second average calculator for obtaining an average current pixel value(ACV) of current block pixels located along the borderline between the current block and the neighboring blocks; subtractor for forming a difference (ACV-ANV); comparator for comparing the difference (ACV-ANV) with the DC quantization step; and pixel value adjustor for adjusting pixel values of the current block pixels based on the comparison result: wherein said pixel value adjustor includes: if (ACV-ANV)≧QS/2, means for decreasing all the pixel values of the current block by QS/2; if (ACV-ANV)≦-QS/2, means for increasing all the pixel values of the current block by QS/2; and, if -QS/2<(ACV-ANV)<QS/2, means for increasing all the pixel values of the current block by ACV-ANV.
 8. The apparatus of claim 7, whereinonly two neighboring blocks are used, a first neighboring block being situated either above or below the current block, and a second neighboring block being situated either to the right or to the left of the current block, and said plurality of pixels in the current block comprise all pixels in the current block located along the borderline with said first and second neighboring blocks.
 9. The apparatus of claim 7, whereinthe average neighboring pixel value (ANV) is an arithmetic mean of all pixels which belong to a pair of adjacent neighboring blocks and are on a borderline with the current block; and the average current pixel value (ACV) is an arithmetic mean of all pixels in a current block which are on a borderline with either of said pair of neighboring blocks, with one of said pixels in said current block being on the borderline with both of said neighboring blocks. 